﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using QLMB.Models;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using QLMB.Infrastructure;

namespace QLMB.ViewModels
{
    public class InfoFlight
    {
        private List<SelectListItem> _sbdi = new List<SelectListItem>();
        private List<SelectListItem> _sbden = new List<SelectListItem>();

        public InfoFlight()
        {

        }

        [DisplayName("San bay di")]
        [Required(ErrorMessage = "Vui long chon san bay di")]
        public string Sanbaydi { get; set; }

        [DisplayName("San bay den")]
        [Required(ErrorMessage = "Vui long chon san bay den")]
        public string Sanbayden { get; set; }

        //[DataType (DataType.Date)]
        //[DateRange(Min = "12/13/2011", Max = "12/16/2012") ]
        public DateTime Ngaydi { get; set; }

        public DateTime Ngayve { get; set; }

        [Required(ErrorMessage = "Vui long chon loai chuyen bay")]
        public string Loaive { get; set; }

        [DisplayName("Nguoi lon")]
        public int SoNguoiLon { get; set; }

        [DisplayName("Tre em")]
        public int SoTreEm { get; set; }

        [Required(ErrorMessage = "Vui long chon ma chuyen bay")]
        public string MaChuyenBayDi { get; set; }

        [Required(ErrorMessage = "Vui long chon ma chuyen bay")]
        public string MaChuyenBayVe { get; set; }

        [Required(ErrorMessage = "Vui lòng chọn 1 gói dịch vụ hoặc chọn 1 chuyến bay khác nếu không có gói dịch vụ phù hợp")]
        public string Loaidichvudi { get; set; }

        [Required(ErrorMessage = "Vui lòng chọn 1 gói dịch vụ hoặc chọn 1 chuyến bay khác nếu không có gói dịch vụ phù hợp")]
        public string Loaidichvuve { get; set; }

        public Decimal TongTien { get; set; }

        public InfoUser Nguoidat { get; set; }

        public List<InfoTraveller> dsHK { get; set; }

        public int time { get; set; }

        public string khdd { get; set; }

        public List<SelectListItem> Sbden
        {
            get { return _sbden; }
        }

        public List<SelectListItem> Sbdi
        {
            get
            {
                var db = new BookingEntities();
                IEnumerable<SelectListItem> items = db.DUONGBAYs
                  .Select(c => new SelectListItem
                  {
                      Value = c.SANBAY.MaSB,
                      Text = c.SANBAY.THANHPHO.TenTP
                  }).Distinct();
                _sbdi = items.ToList();
                return _sbdi;
            }
        }

        public List<SelectListItem> LayDSSBDen(string id)
        {
            var db = new BookingEntities();
            IEnumerable<SelectListItem> items = db.DUONGBAYs.Where(c => c.SanBayDi == id)
              .Select(c => new SelectListItem
              {
                  Value = c.SANBAY1.MaSB,
                  Text = c.SANBAY1.THANHPHO.TenTP
              }).Distinct();

            return items.ToList();
        }
    }
}